package com.jinxinol.basic.system.service;

import java.util.List;

import com.jinxinol.basic.system.domain.SysSeqsNo;
import com.jinxinol.core.common.IService;

public interface ISysSeqsNoService extends IService<SysSeqsNo> {
	/**
	* @Title: selectCountByType 
	* @Description: 查询是否已经存在
	* @author LXD
	* @email 247428412@qq.com
	 */
	public Integer selectCountByType(SysSeqsNo sysSeqsNo) throws Exception;
	/** 插入一条新的SYS_SEQS_NO 记录 */
	public void insertS(SysSeqsNo t) throws Exception;
	
	/** 通过查询虚表获得下一个序列号 */
	public Integer findNextSEQ() throws Exception;

	/** 查找所有的SYS_SEQS_NO 记录 */
	public List<SysSeqsNo> findAllSSN() throws Exception;
	
	/**  查找所有的SYS_SEQS_NO 记录 但不包括本条记录 */
	public List<SysSeqsNo> findAllSSNExcptThis(String order_type_no)throws Exception;
	
	/** 按用户搜索条件查询符合条件的 SYS_SEQS_NO 记录  */
	public List<SysSeqsNo> findBySomeReq(SysSeqsNo sysSeqsNo) throws Exception;
	
    /** 删除一条SYS_SEQS_NO 记录 */
	public void deleteS(String id) throws Exception; 
	
	/** 修改一条SYS_SEQS_NO 记录 */
	public void updateS(SysSeqsNo sysSeqsNo) throws Exception;
	
	/** 通过id 找到对应的一条 SYS_SEQS_NO 记录 */
	public SysSeqsNo findByIdS(String id) throws Exception;
	
	/** 
	 * <p>说明：公共API接口供其他地方得到单据</p>
	 * @param sysSeqsNo：order_type_no 唯一标志码 例如:poj114 , POJ114 
	 * return sysSeqsNo的3个字段 msg_code msg_info bill_no;
	 *        msg_code正常返回0，异常返回-1或其他值
	 *        msg_info异常时的异常消息 没有异常返回null 。
	 *        bill_no成功返回单据号或者特殊编号。失败返回空值 。
	 *        成功的时候bill_no有以下4种可能出现的方式:
	 *        	POJ--0011  没有启用公司代码，没有启用年月
	 *          POJ--2012040014 没有启用公司代码，启用年月
	 *        	POJ-hy-0009 启用公司代码，没有启用年月
	 *          POJ-hy-2012040016 启用公司代码，启用年月
	 * @author LXD
	 * @email 247428412@qq.com
	 */ 
	public SysSeqsNo findThisSysSeqsNo(String order_type_no) throws Exception;
	
	/** 
	 * <p>说明：按标志码获取单据编码</p>
	 * @param order_type_no 唯一标志码
	 * @return String 单据编号
	 * @author LXD
	 * @email 247428412@qq.com
	 */ 
	public String getBianMa(String order_type_no)throws Exception;
	
}
